home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Digital Talk 53
/
Digital_Talk_53_2002-02-11_Digital_Talk_de_Side_A.d64
/
spritedit v7_kht
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
5KB
|
178 lines
0 rem ------kht-spritedit07------
1 q=peek(820):q1=peek(821):on-(q1=0)goto7:onqgoto3,4,5,6:gosub90:goto602
2 poke820,1:poke646,15:list49-70
3 poke820,2:goto100
4 goto410
5 poke820,4:load"mskhtsprite01",8,1
6 gosub90:goto760
7 poke821,1:load"load/save.obj",8,1
8 open15,8,15,"s:kht-spritedit07":close15:save"kht-spritedit07",8:end
9 open4,4:open5,4,6:cmd4:print#5,chr$(30):close5:close4:end
10 data 0, 0, 0
11 data 0, 0, 0
12 data 0, 0, 0
13 data 0, 0, 0
14 data 0, 0, 0
15 data 0, 0, 0
16 data 0, 0, 0
17 data 0, 0, 0
18 data 0, 0, 0
19 data 0, 0, 0
20 data 0, 0, 0
21 data 0, 0, 0
22 data 0, 0, 0
23 data 0, 0, 0
24 data 0, 0, 0
25 data 0, 0, 0
26 data 0, 0, 0
27 data 0, 0, 0
28 data 0, 0, 0
29 data 0, 0, 0
30 data 0, 0, 0
49 rem 765432107654321076543210
50 data ........................
51 data ........................
52 data ........................
53 data ........................
54 data ........................
55 data ........................
56 data ........................
57 data ........................
58 data ........................
59 data ........................
60 data ........................
61 data ........................
62 data ........................
63 data ........................
64 data ........................
65 data ........................
66 data ........................
67 data ........................
68 data ........................
69 data ........................
70 data ........................
90 d$="data[155]":k$="[157],":wr$="weiter mit <[155]return[152]>[155][145][145]":return
100 fori=0to62:readd:next:gosub90
200 fori=10to30:print"[152]"i;d$;:reada$
230 forj=0to2:b$=mid$(a$,8*j+1,8):z=0
260 fork=1to8:c$=mid$(b$,k,1)
280 ifc$="."thenz=2*z
290 ifc$="*"thenz=2*z+1
300 next
302 z0=2:ifz>9thenz0=z0-1
303 ifz>99thenz0=z0-1
308 ifj=2then320
310 printtab(5*j+9+z0)z;k$;:next
320 printtab(5*j+9+z0)z;
330 next:print:next:gosub380:stop
380 print" [158]zeilen-<return> dann 'run'"
390 print" [152]neustart [155]'goto 922'[145][145][145]":return
410 print"[147][152]daten in den speicher setzen ? <j[152]/n[152]>"
420 r$="":getr$:ifr$<>"j"andr$<>"n"then420
422 on-(r$="j")goto430:goto900
430 print"[152]an welchen sprite-speicherplatz ?":print"zahl 13[152]-15[152] od";
432 print"er 128[152]-255[152] eingeben":print"an spritespeicher: [158]";:poke19,1
434 inputm0:poke19,0:print:m=m0*64:print"[152]sollen die daten ab speicher";
436 print"stelle":print"[157]"m"[152]in den speicher"
438 print"eingelesen werden? <j[152]/n[152]>"
440 r$="":getr$:ifr$<>"j"andr$<>"n"then440
442 on-(r$="j")goto452:goto900
452 restore:fori=0to62:readd:pokem+i,d:next:print"[152]die daten sind nun ";
460 print"gespeichert !":print"[152]daten-kontrolle? <j[152]/n[152]>"
464 r$="":getr$:ifr$<>"j"andr$<>"n"then464
466 ifr$="j"then470
468 goto900
470 print"[147]":gosub90
471 fori=0to62step3:m1=peek(m+i):m2=peek(m+i+1):m3=peek(m+i+2)
472 print"[152]"m+i"[155]";:ifm1>99then478
474 ifm1>9then477
476 print" ";
477 print" ";
478 printm1;:ifm2>99then484
479 ifm2>9then483
482 print" ";
483 print" ";
484 printm2;:ifm3>99then494
485 ifm3>9then493
492 print" ";
493 print" ";
494 printm3:next:printtab(17)"[152]"wr$
495 r$="":getr$:ifr$<>chr$(13)then495
496 goto900
512 poke2040,m0:poke53248,32:poke53264,1:poke53249,78:poke53287,1
520 poke53271,1:poke53277,1:poke53269,1:return
530 gosub512:poke820,0:run
602 poke53280,5:poke53281,11:poke646,12:poke53269,0
604 print"[147][158]sprite-editor von kahate[152]"
605 print"[144] weiter mit <return> [146][152]"
606 r$="":getr$:ifr$<>chr$(13)then606
608 print"sprite n[152]eu editieren taste":print"spritedaten a[152]nsehen?";
610 print" <n[152]/a[152]>":print"oder e[152]rklaerung? taste <e[152]>"
612 print"oder sprites speichern <s[152]>"
614 r$="":getr$:ifr$<>"n"andr$<>"a"andr$<>"e"andr$<>"s"then614
616 on-(r$="n")-2*(r$="a")-3*(r$="e")-4*(r$="s")goto2,620,750,850:goto614
620 print"[152]an welchem sprite-platz":print"befinden sich die daten?"
624 print"zahl 13[152]-15[152] oder 128[152]-255[152] eingeben":print"spritespei";
626 print"cher-zahl: [158]";:poke19,1:inputm0:poke19,0:print:m=m0*64
628 print"[152]auswertung der spritedaten":print"ab speicherplatz:"m
630 print"[152]umrechnung <u[152]> - abbruch <a[152]>"
632 r$="":getr$:ifr$<>"u"andr$<>"a"then632
634 on-(r$="u")-2*(r$="a")goto650,900:goto632
640 m0$="":m0$=mid$(str$(m0),2)
642 iflen(m0$)>=3thenreturn
644 m0$=" "+m0$:goto642
650 poke820,1:print"[147][152]49 rem 765432107654321076543210":gosub640
652 print"[145][144]#[158]"m0$"[155]":fori=50to70:b$=mid$(str$(i),2)+chr$(32)
658 b$=b$+d$+chr$(32):forj=0to2:u=peek(m+(3*(i-50))+j):v=128
666 fork=0to7:onr1goto676
670 ifu>=vthenu$=u$+"*":goto690
672 ifu<vthenu$=u$+".":goto691
676 ifu>=vthenu$="*"+u$:goto690
678 ifu<vthenu$="."+u$:goto691
690 u=u-v
691 v=v-(v/2):next:next:b$=b$+u$:printb$:b$="":u$="":next:onr1goto790
700 printtab(8)"a[152]nzeige nr: <+[152]/-[152]>"
702 printtab(8)"ab speicher w[152]eiter[145][145]"
704 gosub640:printtab(22)"[158]"m0$"[152][145]"
710 r$="":getr$:ifr$="a"then800
712 on-(r$="+")-2*(r$="-")goto830,840
714 on-(r$="w")-2*(r$="n")goto720,922:goto710
720 printtab(8)" sprite zum spiegeln neu "
722 printtab(8)" umrechnen? <j[152]/n[152]> [145][145]"
730 r$="":getr$:ifr$<>"n"andr$<>"j"then730
732 on-(r$="n")-2*(r$="j")goto740,742:goto730
740 r1=0:goto790
742 r1=1:goto650
750 poke820,3:run
760 sys49152:gosub380:sys49232:printtab(17)"[152]"wr$
762 r$="":getr$:ifr$<>chr$(13)then762
770 sys49240:print"z[152]urueck oder [152]"wr$
780 r$="":getr$:ifr$<>chr$(13)andr$<>"z"then780
782 ifr$=chr$(13)thenpoke820,0:goto604
784 on-(r$="z")goto760:goto780
790 gosub380:stop
800 gosub640:m=m0*64:m$="":m$=mid$(str$(m),2)
804 iflen(m$)>=5then810
806 m$=" "+m$:goto804
810 printtab(20)"[158]"m$"[152][145][145]":gosub512:goto704
830 m0=m0+1:ifm0>255thenm0=255
832 goto800
840 m0=m0-1:ifm0<0thenm0=0
842 goto800
850 sys694
860 print"[147][155]bitte befehl eingeben im format:"
862 print"save"chr$(34)"name"chr$(34)",8,0,start,ende"
864 print"und mit diesem direktbefehl wird"
866 print"der sprite-datenbereich als daten-"
868 print"block auf diskette gespeichert."
870 print"die speicheradressen fuer die daten-"
872 print"bereiche muessen natuerlich exakt"
874 print"eingegeben werden.":stop
900 print"[147]";
902 print"[152]sprite-a[152]nsicht prg-n[152]eustart e[152]nde?"
910 r$="":getr$:ifr$<>"a"andr$<>"n"andr$<>"e"then910
912 on-(r$="e")-2*(r$="n")goto920,922
914 on-(r$="a")gosub90:goto620
920 poke820,0:poke53280,14:poke53281,6:poke646,14:poke53269,0:print"[147]":end
922 poke53269,0:poke820,0:run